<?php
/**
 *  订单模型 .
 * User: myl
 */
namespace app\api\model;

use think\Model;
use think\Db;

class OrderModel extends Model
{
    /**
     * 按条件查询（多条数据）
     * @param $where
     * @return bool|false|\PDOStatement|string|\think\Collection
     * @throws \think\db\exception\DataNotFoundException
     * @throws \think\db\exception\ModelNotFoundException
     * @throws \think\exception\DbException
     */
    public static function manyData($where){
        $order = Db::name('order')->where($where)->select();
        return $order;
    }

    /**
     *  判断该用户是否购买过该产品
     *  如果购买过，查看是否到期，
     *  未到期不能续费，只有到期才可以续费
     *  判断订单是否作废，是否支付
     */
    public static function orderRenew($goodsId,$userId){
        //查询当前用户所有订单
        $rs = Db::name('order')->alias('or')
            ->join('vip_order_goods og','or.order_id=og.order_id')
            ->field('or.expire_date,or.pay_status,or.order_status')
            ->where('or.user_id',$userId)
            ->where('og.goods_id',$goodsId)
            ->order('or.expire_date desc')
            ->find();
        if (!empty($rs)) {
            //判断订单是否支付
            if ($rs['pay_status']==0) {
                //判断订单是否作废
                if ($rs['order_status'] != 5) {
                    return 0; //已经购买过了，但是未支付！（不能购买，去支付！）
                } else {
                    return 3; //新购
                }
            } else {
                //判断合同时间是否到期
                if ($rs['expire_date'] < time()) {
                    return 1; //已到期（续费）
                } else {
                    return 2; //未到期
                }
            }
        } else {
            return 3; //新购
        }
    }


    /**
     * 判断用户支付密码是否正确
     * @param $userId
     * @param $pwd
     */
    public static function judgePassword($userId,$pwd)
    {
        $pwd2 = encrypt($pwd);
        $rs = Db::name('users')->where(['user_id'=>$userId,'paypwd'=>$pwd2])->find();
        if (!empty($rs)) {
            return 1; //正确
        } else {
            return 2; //错误
        }
    }

}